package com.ff.xyh.feign.client.complaint;

import com.ff.xyh.common.entity.complaint.ComplaintHandle;
import com.ff.xyh.common.entity.complaint.ComplaintInfo;
import com.ff.xyh.common.entity.result.ResultObject;
import com.ff.xyh.common.qo.complaint.ComplaintHandleQuery;
import com.ff.xyh.common.qo.complaint.ComplaintInfoQuery;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;


/**
 * @Auther FF
 * @Date 2023年 05月 23日
 * @Time 22:05
 */

@FeignClient(value = "service-complaint", contextId = "ComplaintClient")
@RequestMapping("/complaint-service")
public interface ComplaintClient {

    /**
     * 举报信息 - 条件查询，包含分页
     * @param complaintInfoQuery
     * @return
     */
    @PostMapping("get-complaint-info-condition")
    ResultObject getComplaintInfoCondition(
            @RequestBody ComplaintInfoQuery complaintInfoQuery) ;

    /**
     * 举报信息 - id 查询
     * @param id
     * @return
     */
    @PostMapping("get-complaint-info-id")
    ResultObject getComplaintInfoById(
            @RequestParam("id") String id) ;


    /**
     * 举报信息 - 根据 id 删除
     * @param id
     * @return
     */
    @PostMapping("delete-complaint-info-id")
    ResultObject deleteComplaintInfoById(
            @RequestParam("id") String id) ;

    /**
     * 举报信息 - 添加
     * @param complaintInfo
     * @return
     */
    @PostMapping("add-complaint-info")
    ResultObject addComplaintInfo(
            @RequestBody ComplaintInfo complaintInfo) ;

    /**
     * 举报信息 - 修改
     * @param complaintInfo
     * @return
     */
    @PostMapping("modify-complaint-info")
    ResultObject modifyComplaintInfo(
            @RequestBody ComplaintInfo complaintInfo) ;


    /**
     * 举报信息 - 处理
     * @param complaintHandle
     * @return
     */
    @PostMapping("handle-complaint-info")
    ResultObject handleComplaintInfo(
            @RequestBody ComplaintHandle complaintHandle) ;


    /**
     * 举报处理信息 - 条件查询，包含分页
     * @param complaintHandleQuery
     * @return
     */
    @PostMapping("get-complaint-handle-condition")
    ResultObject getComplaintHandleCondition(
            @RequestBody ComplaintHandleQuery complaintHandleQuery) ;

    /**
     * 举报处理信息 - 根据 id 删除
     * @param id
     * @return
     */
    @PostMapping("delete-complaint-handle-id")
    ResultObject deleteComplaintHandleById(
            @RequestParam("id") String id) ;

    /**
     * 举报处理信息 - 添加
     * @param complaintHandle
     * @return
     */
    @PostMapping("add-complaint-handle")
    ResultObject addComplaintHandle(
            @RequestBody ComplaintHandle complaintHandle) ;
    /**
     * 举报处理信息 - 修改
     * @param complaintHandle
     * @return
     */
    @PostMapping("modify-complaint-handle")
    ResultObject modifyComplaintHandle(
            @RequestBody ComplaintHandle complaintHandle) ;



}
